#include <iostream>
#include <thread>
#include <string>
#include <chrono>

int count = 0; // 线程之间共享的全局变量

// 打印任务函数
void printTask(const std::string& name) {
    for (int i = 0; i < 10; i++) {
        count++;
        std::cout << name << "[" << count << "] ";
        // std::this_thread::sleep_for(std::chrono::milliseconds(100)); // 模拟挂起
        //加不加都会出错
    }
}

int main() {
    // 创建两个线程，每个线程执行一次 printTask 函数
    std::thread t1(printTask, "a");
    std::thread t2(printTask, "b");
    std::thread t3(printTask, "c");

    // 等待两个线程完成
    t1.join();
    t2.join();
    t3.join();

    std::cout << "Done" << std::endl;
    return 0;
}
